﻿// copyright (c) 2025 author:fio66<fio66@foxmail.com>. All rights reserved.
// date: 2025-08-22 17:38:36

#ifndef _AUDIO_PLAYER_SRC_EVENT_EVENT_DISPATCHER_H_
#define _AUDIO_PLAYER_SRC_EVENT_EVENT_DISPATCHER_H_

#include "src/event/event_handler.h"

namespace fio66 {

class EventDispatcher {
  public:
    virtual ~EventDispatcher() = default;
    virtual void CallEvent(EventType type, const std::any& data) = 0;
    virtual void RegisterEvent(EventType event_type, EventHandler* handler) = 0;
    virtual void UnregisterEvent(EventType event_type, EventHandler* handler) = 0;
};
} // namespace fio66

#endif // _AUDIO_PLAYER_SRC_EVENT_EVENT_DISPATCHER_H_
